n = int(input())
a = [[0] * n for i in range(n)]
for i in range(n):
a[i][n - i - 1] = 1
for i in range(n):
for j in range(n - i, n):
a[i][j] = 2
for row in a:
for elem in row:
print(elem, end=' ')
print()
這段程式的目的是根據給定的整數 n
,生成一個大小為 n x n
的二維陣列,並按照以下規則填充陣列元素:
1
。0
。2
。n x n
的形式列印出來,每個元素之間以空格分隔。n = int(input())
:從使用者輸入讀取一個整數 n
,表示二維陣列的大小為 n x n
。
a = [[0] * n for i in range(n)]
:初始化一個大小為 n x n
的二維陣列,所有位置的初始值為 0
。
for i in range(n): a[i][n - i - 1] = 1
:這個迴圈將次對角線(從右上到左下)的元素設置為 1
。
for i in range(n): for j in range(n - i, n): a[i][j] = 2
:這段程式碼遍歷次對角線下方的所有位置,將它們設置為 2
。
for row in a: for elem in row: print(elem, end=' ')
:逐行列印二維陣列,每行中的元素以空格分隔。
def swap_columns(a, i, j):
for k in range(len(a)):
a[k][i], a[k][j] = a[k][j], a[k][i]
n, m = [int(i) for i in input().split()]
a = [[int(j) for j in input().split()] for i in range(n)]
i, j = [int(i) for i in input().split()]
swap_columns(a, i, j)
print('\n'.join([' '.join([str(i) for i in row]) for row in a]))
這段程式的目的是交換一個 m x n
矩陣的兩列,並輸出交換後的結果。具體步驟如下:
函數 swap_columns(a, i, j)
:
a
是要進行列交換的二維矩陣,i
和 j
是要交換的兩個列的索引。i
列和第 j
列的元素進行交換。輸入部分:
n, m = [int(i) for i in input().split()]
:這行程式碼從使用者輸入中讀取矩陣的行數 n
和列數 m
。a = [[int(j) for j in input().split()] for i in range(n)]
:這行程式碼讀取 n
行,每行 m
個整數,生成一個 n x m
的二維矩陣 a
。i, j = [int(i) for i in input().split()]
:這行程式碼讀取要交換的兩列的索引 i
和 j
。列交換操作:
swap_columns(a, i, j)
來執行列交換操作,通過迴圈交換矩陣中每一行的第 i
列和第 j
列元素。輸出部分:
print('\n'.join([' '.join([str(i) for i in row]) for row in a]))
:這行程式碼格式化輸出矩陣,將每行的元素轉換成字串並以空格分隔,然後每行元素換行打印。def swap_columns(a, i, j):
for k in range(len(a)):
a[k][i], a[k][j] = a[k][j], a[k][i]
n, m = [int(i) for i in input().split()]
a = [[int(j) for j in input().split()] for i in range(n)]
i, j = [int(i) for i in input().split()]
swap_columns(a, i, j)
print('\n'.join([' '.join([str(i) for i in row]) for row in a]))
這段程式的目的是根據輸入的 m x n
矩陣 A
和一個整數 c
,將矩陣中的每一個元素乘以 c
,並輸出結果。
輸入部分:
m, n = [int(k) for k in input().split()]
:從使用者輸入讀取兩個正整數 m
和 n
,分別表示矩陣的行數和列數。A = [[int(k) for k in input().split()] for i in range(m)]
:讀取 m
行,每行包含 n
個整數,生成一個 m x n
的矩陣 A
。c = int(input())
:讀取一個整數 c
,表示要將矩陣中的每一個元素乘以的數。矩陣縮放操作:
for i in range(m): for j in range(n): A[i][j] *= c
:這個雙重迴圈遍歷矩陣的每一行和每一列,並將每個元素乘以 c
。輸出部分:
print('\n'.join([' '.join([str(k) for k in row]) for row in A]))
:這行程式碼將每一行的元素轉換成字串並以空格分隔,然後列印出矩陣,每行元素之間換行。m, n, r = [int(k) for k in input().split()]
A = [[int(k) for k in input().split()] for i in range(m)]
B = [[int(k) for k in input().split()] for j in range(n)]
C = [[0]*r for i in range(m)]
for i in range(m):
for k in range(r):
for j in range(n):
C[i][k] += A[i][j] * B[j][k]
print('\n'.join([' '.join([str(k) for k in row]) for row in C]))
這段程式的目的是計算兩個矩陣的乘積。給定矩陣 A
(大小為 m x n
)和矩陣 B
(大小為 n x r
),它們的乘積矩陣 C
的大小為 m x r
,其中每個元素由矩陣 A
的行和矩陣 B
的列的元素乘積之和計算得出。
輸入部分:
m, n, r = [int(k) for k in input().split()]
:從使用者輸入讀取三個正整數,分別表示矩陣 A
的行數 m
和列數 n
,以及矩陣 B
的列數 r
。A = [[int(k) for k in input().split()] for i in range(m)]
:讀取 m
行,每行包含 n
個整數,生成 m x n
矩陣 A
。B = [[int(k) for k in input().split()] for j in range(n)]
:讀取 n
行,每行包含 r
個整數,生成 n x r
矩陣 B
。C = [[0] * r for i in range(m)]
:初始化一個大小為 m x r
的零矩陣 C
,用於存儲最終的乘積結果。矩陣乘法操作:
C
的行數 m
。C
的列數 r
。A
的列數 n
,並計算每個元素的乘積之和:C[i][k] += A[i][j] * B[j][k]
。輸出部分:
print('\n'.join([' '.join([str(k) for k in row]) for row in C]))
:這行程式碼將矩陣 C
中的每行元素轉換成字串,並以空格分隔,最後按行輸出。台灣首發晶片設計教材再兩天要募資啦
趕快點擊去了解 👉 https://wlinny.com